A LAN switch is used to connect a network to which computer equipment such as a server and a client terminal is connected and to route a packet that is transmitted and received between servers to a target server.
A LAN switch connects a network, to which each server is connected, to physically different ports. When receiving a packet sent from a server, the switch analyzes the packet, determines a destination of the packet, and sends out the packet to a port to which a network serving as a route to the destination server is connected.
A LAN switch retains, as FDB (Forwarding DataBase), transfer information to be used to determine to which port a received packet is sent. The LAN switch receives a packet, analyzes a header of the received packet, searches the FDB based on result of the analysis, determines a destination of the packet, and sends out the packet to the determined destination port.
Particularly in recent years, as high-speed broadband networks have become prevalent, a demand for high-speed LAN switch has also been growing. The LAN switch is provided with a buffer for temporarily storing received packets. However, simultaneous arrival of a number of packets and long processing time of them may cause overflow of the buffer, and a packet loss that prevents the transfer of packets may occur in some cases.
For its solution, a method that enables high-speed searching of FDB has been proposed in order to increase the searching speed of the FDB. That is, rather than directly searching and acquiring the contents of the FDB, an address that stores FDB entries corresponding to packets and unique character strings (search keys) to be created from packets are stored into separate memories, and an address where an FDB entry is stored is acquired from a memory that contains search keys and is accessible at high speed. In this manner, the high-speed searching of the FDB can be achieved.
CAM (Content Addressable Memory: associative memory) is used for the high-speed memory. The CAM is a memory capable of calling the recorded contents by not an address (RAW, COLUMN) but by the contents themselves. To be specific, when searching for CAM data, it is possible to acquire an address where the data is recorded if the data entered in the CAM matches the data recorded in the CAM.
However, due to the effects of radiations such as alpha ray resulting from impurities contained in chips or cosmic ray (gamma ray), soft errors may occur wherein data recorded in the CAM suffers from bit inversion and the data is changed. The CAM using parities to detect the soft errors and correct the data is also known (refer to U.S. Pat. No. 5,491,703).